package com.speedchina.doormanager.service.impl;

import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.speedchina.doormanager.dao.DoorPlateDao;
import com.speedchina.doormanager.dao.DoorPlateLogDao;
import com.speedchina.doormanager.dao.SaomaDTO;
import com.speedchina.doormanager.domain.DoorPlate;
import com.speedchina.doormanager.domain.DoorPlateLog;
import com.speedchina.doormanager.enums.TaskTypeEnum;
import com.speedchina.doormanager.service.SaomaService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.ArrayList;
import java.util.List;

@Service
public class SaomaServiceImpl implements SaomaService {

    @Autowired
    private DoorPlateDao doorPlateDao;

    @Autowired
    private DoorPlateLogDao doorPlateLogDao;


    @Override
    public SaomaDTO findByDoorPlateId(String doorPlateId) {
        SaomaDTO saomaDTO = new SaomaDTO();
        DoorPlate doorPlate = doorPlateDao.selectById(doorPlateId);
        saomaDTO.setDoorPlate(doorPlate);
        List<DoorPlateLog> doorPlateLogList = doorPlateLogDao.selectList(new EntityWrapper<DoorPlateLog>().eq("doorPlate_id", doorPlateId));
        List<DoorPlateLog> xunjianInfos = new ArrayList<>();
        for (DoorPlateLog doorPlateLog : doorPlateLogList) {
            if (doorPlateLog.getTaskType().equals(TaskTypeEnum.ANZHUANG.getStatus())) {
                saomaDTO.setAnzhuangInfo(doorPlateLog);
            } else if (doorPlateLog.getTaskType().equals(TaskTypeEnum.XUNJIAN.getStatus())) {
                xunjianInfos.add(doorPlateLog);
            } else if (doorPlateLog.getTaskType().equals(TaskTypeEnum.WEIHU.getStatus())) {
                saomaDTO.setWeihuInfo(doorPlateLog);
            }
        }
        saomaDTO.setXunjianInfo(xunjianInfos);
        return saomaDTO;
    }
}
